package com.kamistoat.common.runTimeFunc;

import java.text.SimpleDateFormat;
import java.util.Date;

public class RunTimeLog {
    /**
     * 添加颜色输出的格式化log打印
     * @param log
     */
    public static void printRunTimeLog(String log){
        // 使用 new Exception().getStackTrace() 获取追踪栈。打断点后发现，[0]就是方法本身，下标递增就是之前调用它的各个类，所以[1]其实就是来源
        StackTraceElement stackTraceElement = new Exception().getStackTrace()[1];
        Date curDate = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
        String curTime = dateFormat.format(curDate);
        // \33开启转义
        // 34--颜色代码，蓝色
        // 3m--斜体  0m--无样式
        String stackTrace = "\33[34;3m" + "  LOG [" + stackTraceElement.getClassName() + "." +stackTraceElement.getMethodName() + " ]:  \33[0m";
        String fullLog = curTime + stackTrace;
        System.out.format(fullLog);
        System.out.format(log + "%n");
    }
}
